guint prop_id,
const GValue *value,
GParamSpec *pspec);
-static void gtk_about_dialog_destroy (GtkObject *object);
static void update_name_version (GtkAboutDialog *about);
static GtkIconSet * icon_set_new_from_pixbufs (GList *pixbufs);
static void activate_url (GtkWidget *widget,
object_class->get_property = gtk_about_dialog_get_property;
object_class->finalize = gtk_about_dialog_finalize;
- ((GtkObjectClass *)klass)->destroy = gtk_about_dialog_destroy;
g_object_class_install_property (object_class,
PROP_NAME,
G_OBJECT_CLASS (gtk_about_dialog_parent_class)->finalize (object);
}
-static void
-gtk_about_dialog_destroy (GtkObject *object)
-{
- GtkAboutDialog *about = GTK_ABOUT_DIALOG (object);
- GtkAboutDialogPrivate *priv = (GtkAboutDialogPrivate *)about->private_data;
-
- if (priv->credits_dialog)
- {
- gtk_widget_destroy (priv->credits_dialog);
- priv->credits_dialog = NULL;
- }
- if (priv->license_dialog)
- {
- gtk_widget_destroy (priv->license_dialog);
- priv->license_dialog = NULL;
- }
-
- GTK_OBJECT_CLASS (gtk_about_dialog_parent_class)->destroy (object);
-}
-
static void
gtk_about_dialog_set_property (GObject *object,
guint prop_id,
gtk_widget_show_all (dialog);
}
+static void
+close_cb (GtkAboutDialog *about)
+{
+ GtkAboutDialogPrivate *priv = (GtkAboutDialogPrivate *)about->private_data;
+
+ if (priv->license_dialog != NULL)
+ {
+ gtk_widget_destroy (priv->license_dialog);
+ priv->license_dialog = NULL;
+ }
+
+ if (priv->credits_dialog != NULL)
+ {
+ gtk_widget_destroy (priv->credits_dialog);
+ priv->credits_dialog = NULL;
+ }
+
+ gtk_widget_hide (GTK_WIDGET (about));
+
+}
+
/**
* gtk_about_dialog_new:
*
/* Close dialog on user response */
g_signal_connect (G_OBJECT (dialog),
"response",
- G_CALLBACK (gtk_widget_hide),
+ G_CALLBACK (close_cb),
NULL);
return GTK_WIDGET (dialog);